{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true,
    "tags": []
   },
   "source": [
    "# 目录\n",
    "\n",
    "**一、认识Informer Github库**\n",
    "\n",
    "&emsp;&emsp;1. Informer2020库的安装部署\n",
    "\n",
    "&emsp;&emsp;2. Informer2020库的基本结构与调用指南\n",
    "\n",
    "**二、Informer实践时序预测的实战**\n",
    "\n",
    "&emsp;&emsp;1. Attention计算改进<br>\n",
    "\n",
    "&emsp;&emsp;2. Encoder结构改进\n",
    "\n",
    "&emsp;&emsp;3. Decoder结构改进\n",
    "\n",
    "&emsp;&emsp;4. 位置编码改进"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": []
   },
   "source": [
    "# 一、认识Informer2020\n",
    "\n",
    "Informer算法是深度学习领域的一项重要创新，特别针对处理长序列时间序列数据而设计。作为传统Transformer模型的一个高效改进，Informer主要通过引入概率稀疏注意力机制（ProbSparse Self-Attention）来解决处理长序列时的效率和性能问题。这种机制使得Informer在保持出色性能的同时，大幅减少了对计算资源的需求。此外，Informer采用了一种独特的序列下采样策略，有效地减少了序列的长度，从而进一步提升了处理长序列的能力。为了捕捉时间序列中的长期依赖关系，Informer还引入了多尺度时间编码技术，使得模型能够同时理解短期和长期的时间动态。\n",
    "\n",
    "Informer的这些创新特性使其在处理长时间序列方面表现卓越，特别适用于那些需要分析和预测长时间序列数据的领域，如金融、气象和交通等，Informer也因此成为各大深度学习竞赛中的常客。作为新兴算法，Informer目前还没有被大型深度学习框架、如PyTorch、TensorFlow等框架收录为成熟算法，因此我们无法直接从这些深度学习框架中对informer进行调用，因此现在我们想要实现informer有三个途径——\n",
    "\n",
    "1. 使用PyTorch或TensorFlow自建informer架构，并使用传统深度学习框架的预测手段进行预测\n",
    "2. 使用由网友开源在Huggingface的informer模型架构\n",
    "3. 使用Informer原作者在Github上发布的[Informer2020开源项目](https://github.com/zhouhaoyi/Informer2020)\n",
    "\n",
    "在这三种手段当中，直接调用原作者所开发的开源项目是最为辩解的。Informer架构的数学过程及其复杂，要使用PyTorch来实现工程量很大，而Huggingface调用需要魔法，因此我们更常使用原作者自己开发的informer开源项目。遗憾的是，原作者们并没有像开发成熟的深度学习框架一样开发informer，该项目不是为了大幅推广informer架构的使用、而更多是为了让学术界更容易地复现informer论文的结果，因此informer2020项目的调用略微复杂，代码本身封装程度较低、调用方式不够简洁、有许多不够灵活的地方，在许多应用场景中甚至需要修改源码，因此informer开源项目本身有一定的使用门槛。今天就让我们一起来看一下这个库。\n",
    "\n",
    "![](https://fufanshare.oss-cn-beijing.aliyuncs.com/DeepLearning/Informer/github.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "作为Github上的开源项目，Informer2020库可以通过git直接克隆并部署到本地，你也可以直接可以点击右上角的绿色的Code按钮，通过“Download ZIP”方式下载整个项目的压缩包（如果你没有办法下载这个开源项目的压缩包的话，可以直接vx扫码→回复“DL999”来获取该zip文件）。\n",
    "\n",
    "该文件夹解压后，可以直接在本地使用PyCharm、VScode等编程工具打开运行。如果你使用的是jupyterlab，则只需要在解压后的文件夹中新建ipy或py文件，即可直接运行这个开源项目的代码。需要注意的是，这一整套代码并没有被封装成一个完整的库，而是以零散的模块形式呈现，因此我们在进行导入的时候，只需导入各个零散的模块名称下的函数、类等功能即可，并不需要导入一个库的名称，也不需要额外对库进行安装。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "看下面这张图，这张图中包含了informer2020项目中的几大核心板块：\n",
    "\n",
    "![git项目结构](https://fufanshare.oss-cn-beijing.aliyuncs.com/DeepLearning/Informer/%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.png)![项目结构细化](https://fufanshare.oss-cn-beijing.aliyuncs.com/DeepLearning/Informer/%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84%E7%BB%86%E5%8C%96.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这个项目是基于Python和PyTorch完成编程的。我们来大致看一下这个项目结构里重要的几部分：\n",
    "\n",
    "* 一般主程序入口都会放在主文件夹下，**main_informer.py就是我们的主程序**。该主程序可以帮助定义informer所需的所有参数、并执行实际的训练和预测流程。在PyCharm等非REPL式的编程工具中，我们都可以通过直接调用main_informer来运行算法的训练。\n",
    "\n",
    "* **data板块**：包含一切和数据有关，存放数据集和数据集加载相关代码，核心代码为data_loader.py，既包括处理数据的代码，也包括导入数据的代码。深度学习的数据加载是一个相对复杂的流程，在《深度学习实战》正课中我们仔细得讲解过导入不同数据所使用的类CustomDataset，在informer2020中我们也同样使用这样的类来导入数据。考虑到深度学习数据存在的形式丰富，原作者们很贴心地为我们准备了可以导入论文中使用的数据的三个类（例如`Dataset_ETT_hour`），每个类对应不同的数据集。同时，也为我们写了一个可以导入excel表单/csv文件的类，并附有自动分割训练/测试/验证集的流程、以及将导入数据转变为Tensor的流程（`Dataset_Custom`，`Dataset_Pred`等）。在实际使用informer2020库的时候，我们也可以自己向dataloader.py中添加自己定义的数据导入类。而处理数据的代码部分，包括有归一化、各类embedding的选择等等。\n",
    "\n",
    "* **exp板块**：实验相关，数据加载，模型训练、测试、预测的过程代码，包括了定义损失函数、定义网络结构、进行训练等神经网络的基本流程。\n",
    "\n",
    "* **models板块**：Informer模型相关内容，包含词向量编码（embed.py）、注意力机制（attn.py）、encoder编码器（encoder.py）、decoder（decoder.py）解码器和模型定义（model.py）几部分。\n",
    "\n",
    "* **utils板块**：与项目相关的辅助代码，这里包含掩码相关（masking.py）、算法衡量指标（metrics.py）、时间特征（timefreatures.py）和其它工具（tools.py）几部分。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在上述代码中，几乎所有板块下的功能都是通过类的方式实现的，但在实际使用informer的过程中，我们往往不会直接导出类或函数来使用，而是通过**设置参数**的方式来调用整个项目中的功能。举例说明，当我们真正在调用informer的时候我们使用的是如下的代码："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 注意此段代码为展示，不可运行\n",
    "\n",
    "# 导入相应的库\n",
    "import argparse\n",
    "import os\n",
    "import torch\n",
    "from exp.exp_informer import Exp_Informer as Exp  # 执行训练流程的板块\n",
    "\n",
    "# 告诉argparse库我们是需要往informer里面添加参数，并建立一个对象parser用于存储参数\n",
    "parser = argparse.ArgumentParser(description=\"[Informer] Long Sequences Forecasting\")\n",
    "\n",
    "# 使用add_argument功能来添加实际要使用的参数，其中'--model'是参数的名称\n",
    "parser.add_argument(\"--model\")\n",
    "\n",
    "# 将参数列表parser赋予具体的值，这些值会被保存在模型中形成一个个self.参数值\n",
    "# 这一步就相当于一般网络调用过程中为模型填写参数的部分\n",
    "args = parser.parse_args(\n",
    "    args=[\"--model\", \"informer\", \"--data\", \"ETTh1\", \"--attn\", \"prob\", \"--freq\", \"h\"]\n",
    ")\n",
    "\n",
    "# 按照informer要求的格式将这些值赋予变量setting，代表我们为模型做的各种设置\n",
    "setting = (\n",
    "    \"{}_{}_ft{}_sl{}_ll{}_pl{}_dm{}_nh{}_el{}_dl{}_df{}_at{}_fc{}_eb{}_dt{}_{}\".format(\n",
    "        args.model,\n",
    "        args.data,\n",
    "        args.features,\n",
    "        args.seq_len,\n",
    "        args.label_len,\n",
    "        args.pred_len,\n",
    "        args.d_model,\n",
    "        args.n_heads,\n",
    "        args.e_layers,\n",
    "        args.d_layers,\n",
    "        args.d_ff,\n",
    "        args.attn,\n",
    "        args.factor,\n",
    "        args.embed,\n",
    "        args.distil,\n",
    "        args.des,\n",
    "    )\n",
    ")\n",
    "\n",
    "# 使用Exp实例化网络结构和训练流程的所有参数\n",
    "exp = Exp(args)\n",
    "\n",
    "# 训练 + 打印结果\n",
    "print(\">>>>>>>start training : {}>>>>>>>>>>>>>>>>>>>>>>>>>>\".format(setting))\n",
    "exp.train(setting)\n",
    "\n",
    "# 测试 + 打印结果\n",
    "print(\">>>>>>>testing : {}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\".format(setting))\n",
    "exp.test(setting)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "不难发现，在这个过程中所有的流程都是被封装好的，我们数据的预处理、数据配置、模型选择、模型结构、模型输入输出、训练过程中的学习率、batch_size等等信息全都是通过参数来控制的，甚至连数据的导入都是以参数的形式进行，我们需要修改的只有参数本身而已。如上所述的封装让我们可以很轻易地跑通原作者提供的这一套代码，但是当我们需要更大的灵活性、需要对数据有更多丰富的操作的时候，就需腰修改informer2020的压缩文件中的原始代码了。在Informer2020的结构中有如下的参数——"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![](https://fufanshare.oss-cn-beijing.aliyuncs.com/DeepLearning/Informer/Informer%E5%8F%82%E6%95%B0%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "其中最为关键的参数如下——\n",
    "\n",
    "- **指定输入的数据和预测细节的参数**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "_StoreAction(option_strings=['--freq'], dest='freq', nargs=None, const=None, default='h', type=<class 'str'>, choices=None, help='freq for time features encoding, options:[s:secondly, t:minutely, h:hourly, d:daily, b:business days, w:weekly, m:monthly], you can also use more detailed freq like 15min or 3h', metavar=None)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#想要用官方定义的方法还是你自己的数据集进行定义数据加载器，如果是自己的数据集就输入custom\n",
    "parser.add_argument('--data', type=str, required=True, default='ETTh1', help='data')\n",
    "#数据集文件的路径，不要到具体的文件，到目录级别即可\n",
    "parser.add_argument('--root_path', type=str, default='./data/ETT/', help='root path of the data file')\n",
    "#数据集文件的名称\n",
    "parser.add_argument('--data_path', type=str, default='ETTh1.csv', help='data file')    \n",
    "#特征有三个选项M，MS，S。分别是多元预测多元，多元预测单元，单元预测单元\n",
    "parser.add_argument('--features', type=str, default='M', help='forecasting task, options:[M, S, MS]; M:multivariate predict multivariate, S:univariate predict univariate, MS:multivariate predict univariate')\n",
    "#数据集中想要预测那一列数据名称，指定标签\n",
    "parser.add_argument('--target', type=str, default='OT', help='target feature in S or MS task')\n",
    "#时间的间隔，数据集每一条数据之间的时间间隔，默认为小时，可以自己设定秒，年，月，日，周等\n",
    "parser.add_argument('--freq', type=str, default='h', help='freq for time features encoding, options:[s:secondly, t:minutely, h:hourly, d:daily, b:business days, w:weekly, m:monthly], you can also use more detailed freq like 15min or 3h')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- **进一步影响预测进度的参数，需要根据数据的特性来设置**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "_StoreAction(option_strings=['--pred_len'], dest='pred_len', nargs=None, const=None, default=24, type=<class 'int'>, choices=None, help='prediction sequence length', metavar=None)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#用过去的多少条数据来预测未来的数据，也就是encoder输入序列的长度\n",
    "parser.add_argument('--seq_len', type=int, default=96, help='input sequence length of Informer encoder')\n",
    "# Decoder中输入的没有掩码部分序列长度\n",
    "parser.add_argument('--label_len', type=int, default=48, help='start token length of Informer decoder')\n",
    "#预测未来多少个时间点的数据，Decoder输入中用0掩码的序列长度\n",
    "parser.add_argument('--pred_len', type=int, default=24, help='prediction sequence length')\n",
    "# Informer decoder input: concat[start token series(label_len), zero padding series(pred_len)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "需要根据数据集的特征数量和前面features的设定来配合设置"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "_StoreAction(option_strings=['--c_out'], dest='c_out', nargs=None, const=None, default=7, type=<class 'int'>, choices=None, help='output size', metavar=None)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#输入数据的特征数量，要减去时间的那一列，encoder和decoder是一样的\n",
    "parser.add_argument('--enc_in', type=int, default=7, help='encoder input size')\n",
    "parser.add_argument('--dec_in', type=int, default=7, help='decoder input size')\n",
    "\n",
    "#输出数据的维度\n",
    "#如果features填写的是M那么和上面就一样，是数据列数，如果填写的MS那么这里要输入1因为你的输出只有一列数据。\n",
    "parser.add_argument('--c_out', type=int, default=7, help='output size')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- **指定网络架构的参数**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#编码器中使用的注意力类型，默认为\"prob\"论文的主要改进点，提出的注意力机制\n",
    "parser.add_argument('--attn', type=str, default='prob', help='attention used in encoder, options:[prob, full]')\n",
    "#设置注意力机制中的d_model，默认值为512。可以根据需要调整该参数的数值来改变模型的维度\n",
    "parser.add_argument('--d_model', type=int, default=512, help='dimension of model')\n",
    "#设置模型中的注意力头数，默认值为8\n",
    "parser.add_argument('--n_heads', type=int, default=8, help='num of heads')\n",
    "#设置编码器的层数，默认为2层\n",
    "parser.add_argument('--e_layers', type=int, default=2, help='num of encoder layers')\n",
    "#设置解码器的层数，默认为1层\n",
    "parser.add_argument('--d_layers', type=int, default=1, help='num of decoder layers')\n",
    "#设置堆叠编码器的层数\n",
    "parser.add_argument('--s_layers', type=str, default='3,2,1', help='num of stack encoder layers')\n",
    "#模型中全连接网络（FCN）的维度，默认值为2048\n",
    "parser.add_argument('--d_ff', type=int, default=2048, help='dimension of fcn')\n",
    "#是否在编码器中使用蒸馏操作，默认为True也是论文中比较重要的一个改进\n",
    "parser.add_argument('--distil', action='store_false', help='whether to use distilling in encoder, using this argument means not using distilling', default=True)\n",
    "#激活函数，在不同的位置使用了不同的激活函数，我们在代码中看具体激活函数的使用\n",
    "parser.add_argument('--activation', type=str, default='gelu',help='activation')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- **调用GPU的参数群**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#是否使用GPU训练，根据自身来选择\n",
    "parser.add_argument('--use_gpu', type=bool, default=True, help='use gpu')\n",
    "#GPU的编号\n",
    "parser.add_argument('--gpu', type=int, default=0, help='gpu')\n",
    "#是否使用多个GPU训练。\n",
    "parser.add_argument('--use_multi_gpu', action='store_true', help='use multiple gpus', default=False)\n",
    "parser.add_argument('--devices', type=str, default='0,1,2,3',help='device ids of multile gpus')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- **其他、一般不改变的默认参数**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#是否进行预测\n",
    "parser.add_argument('--do_predict', action='store_true', help='whether to predict unseen future data')\n",
    "#自注意力中的因子，默认值为5\n",
    "parser.add_argument('--factor', type=int, default=5, help='probsparse attn factor')\n",
    "#填充类型，默认值为0，如果不够数据就填写0\n",
    "parser.add_argument('--padding', type=int, default=0, help='padding type')\n",
    "#丢弃的概率，防止过拟合\n",
    "parser.add_argument('--dropout', type=float, default=0.05, help='dropout')\n",
    "#时间特征的编码方式，默认为\"timeF\"\n",
    "parser.add_argument('--embed', type=str, default='timeF', help='time features encoding, options:[timeF, fixed, learned]')\n",
    "#是否在编码器中输出注意力，默认为False\n",
    "parser.add_argument('--output_attention', action='store_true', help='whether to output attention in ecoder')\n",
    "#在生成式解码器中是否使用混合注意力，默认为True\n",
    "parser.add_argument('--mix', action='store_false', help='use mix attention in generative decoder', default=True)\n",
    "#从数据文件中选择特定的列作为输入特征，不常用\n",
    "parser.add_argument('--cols', type=str, nargs='+', help='certain cols from the data files as the input features')\n",
    "#线程数量。windows最好设置成0避免报线程错误,linux系统可随便设置\n",
    "parser.add_argument('--num_workers', type=int, default=0, help='data loader num workers')\n",
    "#实验运行的次数，默认为2\n",
    "parser.add_argument('--itr', type=int, default=2, help='experiments times')\n",
    "#训练的次数\n",
    "parser.add_argument('--train_epochs', type=int, default=6, help='train epochs')\n",
    "#一次往模型内输入多少数据\n",
    "parser.add_argument('--batch_size', type=int, default=32, help='batch size of train input data')\n",
    "#早停机制，如果损失多少个epochs没有改变就停止训练\n",
    "parser.add_argument('--patience', type=int, default=3, help='early stopping patience')\n",
    "#学习率\n",
    "parser.add_argument('--learning_rate', type=float, default=0.0001, help='optimizer learning rate')\n",
    "#实验描述，默认为\"test\"\n",
    "parser.add_argument('--des', type=str, default='test',help='exp description')\n",
    "#损失函数，默认为\"mse\"\n",
    "parser.add_argument('--loss', type=str, default='mse',help='loss function')\n",
    "#学习率的调整方式，默认为\"type1\"\n",
    "parser.add_argument('--lradj', type=str, default='type1',help='adjust learning rate')\n",
    "#混合精度训练\n",
    "parser.add_argument('--use_amp', action='store_true', help='use automatic mixed precision training', default=False)\n",
    "#是否将归一化后的数据转换为原始值\n",
    "parser.add_argument('--inverse', action='store_true', help='inverse output data', default=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在了解参数之后，让我们来进行实际的预测——"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 二、Informer实现电力需求量预测\n",
    "\n",
    "在原始论文中，原作者使用了三种不同的数据集来验证informer，分别是预测电力需求情况的ETT数据集，预测电力消耗负载的ECL数据集，还有预测天气的WTH数据集。这三种数据集都是csv格式的、具有多个特征的单变量时间序列数据，是非常典型的时序预测数据：\n",
    "\n",
    "- **ETT数据集[电力变压器的数据集](https://github.com/zhouhaoyi/ETDataset)**\n",
    "\n",
    "为了解决不同地区的电力分配问题，需要提前预测特定地区的电力需求情况。该团队认为油温（数据集中的OT列）可以反映变压器的用电情况，只要油温安全就可以避免电力变压器的损坏。该团队收集了中国两个不同县的两年数据，制作了以下数据集。训练/验证/测试集分别为 12/4/4 个月。\n",
    "\n",
    "数据集的各列解释如下，在这个例子里我们用高中低三个层次的负载值预测OT油温（通过油温反应电力变压器是否安全）。\n",
    "\n",
    "不是专业领域的伙伴可以不用在意各列的实际意义，只要明确我们数据集有8列，1列时间，使用其中6列特征的值，来预测最后一列的OT值即可。。\n",
    "\n",
    "![ETT数据集](https://fufanshare.oss-cn-beijing.aliyuncs.com/DeepLearning/Informer/ETT%E6%95%B0%E6%8D%AE%E9%9B%86.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>HUFL</th>\n",
       "      <th>HULL</th>\n",
       "      <th>MUFL</th>\n",
       "      <th>MULL</th>\n",
       "      <th>LUFL</th>\n",
       "      <th>LULL</th>\n",
       "      <th>OT</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2016-07-01 00:00:00</td>\n",
       "      <td>5.827</td>\n",
       "      <td>2.009</td>\n",
       "      <td>1.599</td>\n",
       "      <td>0.462</td>\n",
       "      <td>4.203</td>\n",
       "      <td>1.340</td>\n",
       "      <td>30.531000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2016-07-01 01:00:00</td>\n",
       "      <td>5.693</td>\n",
       "      <td>2.076</td>\n",
       "      <td>1.492</td>\n",
       "      <td>0.426</td>\n",
       "      <td>4.142</td>\n",
       "      <td>1.371</td>\n",
       "      <td>27.787001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2016-07-01 02:00:00</td>\n",
       "      <td>5.157</td>\n",
       "      <td>1.741</td>\n",
       "      <td>1.279</td>\n",
       "      <td>0.355</td>\n",
       "      <td>3.777</td>\n",
       "      <td>1.218</td>\n",
       "      <td>27.787001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2016-07-01 03:00:00</td>\n",
       "      <td>5.090</td>\n",
       "      <td>1.942</td>\n",
       "      <td>1.279</td>\n",
       "      <td>0.391</td>\n",
       "      <td>3.807</td>\n",
       "      <td>1.279</td>\n",
       "      <td>25.044001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2016-07-01 04:00:00</td>\n",
       "      <td>5.358</td>\n",
       "      <td>1.942</td>\n",
       "      <td>1.492</td>\n",
       "      <td>0.462</td>\n",
       "      <td>3.868</td>\n",
       "      <td>1.279</td>\n",
       "      <td>21.948000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2016-07-01 05:00:00</td>\n",
       "      <td>5.626</td>\n",
       "      <td>2.143</td>\n",
       "      <td>1.528</td>\n",
       "      <td>0.533</td>\n",
       "      <td>4.051</td>\n",
       "      <td>1.371</td>\n",
       "      <td>21.174000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2016-07-01 06:00:00</td>\n",
       "      <td>7.167</td>\n",
       "      <td>2.947</td>\n",
       "      <td>2.132</td>\n",
       "      <td>0.782</td>\n",
       "      <td>5.026</td>\n",
       "      <td>1.858</td>\n",
       "      <td>22.792000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2016-07-01 07:00:00</td>\n",
       "      <td>7.435</td>\n",
       "      <td>3.282</td>\n",
       "      <td>2.310</td>\n",
       "      <td>1.031</td>\n",
       "      <td>5.087</td>\n",
       "      <td>2.224</td>\n",
       "      <td>23.143999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2016-07-01 08:00:00</td>\n",
       "      <td>5.559</td>\n",
       "      <td>3.014</td>\n",
       "      <td>2.452</td>\n",
       "      <td>1.173</td>\n",
       "      <td>2.955</td>\n",
       "      <td>1.432</td>\n",
       "      <td>21.667000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2016-07-01 09:00:00</td>\n",
       "      <td>4.555</td>\n",
       "      <td>2.545</td>\n",
       "      <td>1.919</td>\n",
       "      <td>0.817</td>\n",
       "      <td>2.680</td>\n",
       "      <td>1.371</td>\n",
       "      <td>17.445999</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  date   HUFL   HULL   MUFL   MULL   LUFL   LULL         OT\n",
       "0  2016-07-01 00:00:00  5.827  2.009  1.599  0.462  4.203  1.340  30.531000\n",
       "1  2016-07-01 01:00:00  5.693  2.076  1.492  0.426  4.142  1.371  27.787001\n",
       "2  2016-07-01 02:00:00  5.157  1.741  1.279  0.355  3.777  1.218  27.787001\n",
       "3  2016-07-01 03:00:00  5.090  1.942  1.279  0.391  3.807  1.279  25.044001\n",
       "4  2016-07-01 04:00:00  5.358  1.942  1.492  0.462  3.868  1.279  21.948000\n",
       "5  2016-07-01 05:00:00  5.626  2.143  1.528  0.533  4.051  1.371  21.174000\n",
       "6  2016-07-01 06:00:00  7.167  2.947  2.132  0.782  5.026  1.858  22.792000\n",
       "7  2016-07-01 07:00:00  7.435  3.282  2.310  1.031  5.087  2.224  23.143999\n",
       "8  2016-07-01 08:00:00  5.559  3.014  2.452  1.173  2.955  1.432  21.667000\n",
       "9  2016-07-01 09:00:00  4.555  2.545  1.919  0.817  2.680  1.371  17.445999"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df_ETT_h = pd.read_csv(r'D:\\pythonwork\\2021DL\\Live\\深度时序专题\\Informer2020-main\\data\\ETT\\ETTh1.csv')\n",
    "data1 = df_ETT_h.head(10)\n",
    "data1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- **ECL电力消耗负载数据集**\n",
    "\n",
    "收集321个客户的用电量（千瓦时）。由于原数据集缺少数据，论文团队将数据集转换为 2 年的每小时消耗量，并将“MT 320”设置为目标值，用于预测。训练/验证/测试集分别为 15/3/4 个月。\n",
    "\n",
    "该数据集有322列，其中1列为时间，用320列的特征预测最后一列的值。（用320个用户的用电量预测第321个用户的用电量）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>MT_000</th>\n",
       "      <th>MT_001</th>\n",
       "      <th>MT_002</th>\n",
       "      <th>MT_003</th>\n",
       "      <th>MT_004</th>\n",
       "      <th>MT_005</th>\n",
       "      <th>MT_006</th>\n",
       "      <th>MT_007</th>\n",
       "      <th>MT_008</th>\n",
       "      <th>...</th>\n",
       "      <th>MT_311</th>\n",
       "      <th>MT_312</th>\n",
       "      <th>MT_313</th>\n",
       "      <th>MT_314</th>\n",
       "      <th>MT_315</th>\n",
       "      <th>MT_316</th>\n",
       "      <th>MT_317</th>\n",
       "      <th>MT_318</th>\n",
       "      <th>MT_319</th>\n",
       "      <th>MT_320</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2012-01-01 00:00:00</td>\n",
       "      <td>14.0</td>\n",
       "      <td>69.0</td>\n",
       "      <td>234.0</td>\n",
       "      <td>415.0</td>\n",
       "      <td>215.0</td>\n",
       "      <td>1056.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>840.0</td>\n",
       "      <td>226.0</td>\n",
       "      <td>...</td>\n",
       "      <td>676.0</td>\n",
       "      <td>372.0</td>\n",
       "      <td>80100.0</td>\n",
       "      <td>4719.0</td>\n",
       "      <td>5002.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1558.0</td>\n",
       "      <td>182.0</td>\n",
       "      <td>2162.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2012-01-01 01:00:00</td>\n",
       "      <td>18.0</td>\n",
       "      <td>92.0</td>\n",
       "      <td>312.0</td>\n",
       "      <td>556.0</td>\n",
       "      <td>292.0</td>\n",
       "      <td>1363.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>1102.0</td>\n",
       "      <td>271.0</td>\n",
       "      <td>...</td>\n",
       "      <td>805.0</td>\n",
       "      <td>452.0</td>\n",
       "      <td>95200.0</td>\n",
       "      <td>4643.0</td>\n",
       "      <td>6617.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>2177.0</td>\n",
       "      <td>253.0</td>\n",
       "      <td>2835.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2012-01-01 02:00:00</td>\n",
       "      <td>21.0</td>\n",
       "      <td>96.0</td>\n",
       "      <td>312.0</td>\n",
       "      <td>560.0</td>\n",
       "      <td>272.0</td>\n",
       "      <td>1240.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>1025.0</td>\n",
       "      <td>270.0</td>\n",
       "      <td>...</td>\n",
       "      <td>817.0</td>\n",
       "      <td>430.0</td>\n",
       "      <td>96600.0</td>\n",
       "      <td>4285.0</td>\n",
       "      <td>6571.0</td>\n",
       "      <td>64.0</td>\n",
       "      <td>43.0</td>\n",
       "      <td>2193.0</td>\n",
       "      <td>218.0</td>\n",
       "      <td>2764.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2012-01-01 03:00:00</td>\n",
       "      <td>20.0</td>\n",
       "      <td>92.0</td>\n",
       "      <td>312.0</td>\n",
       "      <td>443.0</td>\n",
       "      <td>213.0</td>\n",
       "      <td>845.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>833.0</td>\n",
       "      <td>179.0</td>\n",
       "      <td>...</td>\n",
       "      <td>801.0</td>\n",
       "      <td>291.0</td>\n",
       "      <td>94500.0</td>\n",
       "      <td>4222.0</td>\n",
       "      <td>6365.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>1315.0</td>\n",
       "      <td>195.0</td>\n",
       "      <td>2735.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2012-01-01 04:00:00</td>\n",
       "      <td>22.0</td>\n",
       "      <td>91.0</td>\n",
       "      <td>312.0</td>\n",
       "      <td>346.0</td>\n",
       "      <td>190.0</td>\n",
       "      <td>647.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>733.0</td>\n",
       "      <td>186.0</td>\n",
       "      <td>...</td>\n",
       "      <td>807.0</td>\n",
       "      <td>279.0</td>\n",
       "      <td>91300.0</td>\n",
       "      <td>4116.0</td>\n",
       "      <td>6298.0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>1378.0</td>\n",
       "      <td>191.0</td>\n",
       "      <td>2721.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 322 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                  date  MT_000  MT_001  MT_002  MT_003  MT_004  MT_005  \\\n",
       "0  2012-01-01 00:00:00    14.0    69.0   234.0   415.0   215.0  1056.0   \n",
       "1  2012-01-01 01:00:00    18.0    92.0   312.0   556.0   292.0  1363.0   \n",
       "2  2012-01-01 02:00:00    21.0    96.0   312.0   560.0   272.0  1240.0   \n",
       "3  2012-01-01 03:00:00    20.0    92.0   312.0   443.0   213.0   845.0   \n",
       "4  2012-01-01 04:00:00    22.0    91.0   312.0   346.0   190.0   647.0   \n",
       "\n",
       "   MT_006  MT_007  MT_008  ...  MT_311  MT_312   MT_313  MT_314  MT_315  \\\n",
       "0    29.0   840.0   226.0  ...   676.0   372.0  80100.0  4719.0  5002.0   \n",
       "1    29.0  1102.0   271.0  ...   805.0   452.0  95200.0  4643.0  6617.0   \n",
       "2    29.0  1025.0   270.0  ...   817.0   430.0  96600.0  4285.0  6571.0   \n",
       "3    24.0   833.0   179.0  ...   801.0   291.0  94500.0  4222.0  6365.0   \n",
       "4    16.0   733.0   186.0  ...   807.0   279.0  91300.0  4116.0  6298.0   \n",
       "\n",
       "   MT_316  MT_317  MT_318  MT_319  MT_320  \n",
       "0    48.0    38.0  1558.0   182.0  2162.0  \n",
       "1    65.0    47.0  2177.0   253.0  2835.0  \n",
       "2    64.0    43.0  2193.0   218.0  2764.0  \n",
       "3    65.0    39.0  1315.0   195.0  2735.0  \n",
       "4    75.0    40.0  1378.0   191.0  2721.0  \n",
       "\n",
       "[5 rows x 322 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df_ECL = pd.read_csv(r'D:\\pythonwork\\2021DL\\Live\\深度时序专题\\Informer2020-main\\data\\ECL.csv')\n",
    "data2 = df_ECL.head(5)\n",
    "data2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- **WTH天气数据集**\n",
    "\n",
    "该数据集包含 2010 年至 2013 年 4 年间美国近 1,600 个地点的当地气候数据，每 1 小时收集一次数据点。每个数据点由目标值“WetBulbCelsius”和 11 个气候特征组成。训练/验证/测试集分别为 28/10/10 个月。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>Visibility</th>\n",
       "      <th>DryBulbFarenheit</th>\n",
       "      <th>DryBulbCelsius</th>\n",
       "      <th>WetBulbFarenheit</th>\n",
       "      <th>DewPointFarenheit</th>\n",
       "      <th>DewPointCelsius</th>\n",
       "      <th>RelativeHumidity</th>\n",
       "      <th>WindSpeed</th>\n",
       "      <th>WindDirection</th>\n",
       "      <th>StationPressure</th>\n",
       "      <th>Altimeter</th>\n",
       "      <th>WetBulbCelsius</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1/1/2010 0:00</td>\n",
       "      <td>10.0</td>\n",
       "      <td>16</td>\n",
       "      <td>-9</td>\n",
       "      <td>13</td>\n",
       "      <td>7</td>\n",
       "      <td>-14</td>\n",
       "      <td>67</td>\n",
       "      <td>7</td>\n",
       "      <td>130</td>\n",
       "      <td>21.65</td>\n",
       "      <td>30.35</td>\n",
       "      <td>-10.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1/1/2010 1:00</td>\n",
       "      <td>10.0</td>\n",
       "      <td>16</td>\n",
       "      <td>-9</td>\n",
       "      <td>13</td>\n",
       "      <td>7</td>\n",
       "      <td>-14</td>\n",
       "      <td>67</td>\n",
       "      <td>5</td>\n",
       "      <td>150</td>\n",
       "      <td>21.64</td>\n",
       "      <td>30.34</td>\n",
       "      <td>-10.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1/1/2010 2:00</td>\n",
       "      <td>10.0</td>\n",
       "      <td>16</td>\n",
       "      <td>-9</td>\n",
       "      <td>13</td>\n",
       "      <td>7</td>\n",
       "      <td>-14</td>\n",
       "      <td>67</td>\n",
       "      <td>5</td>\n",
       "      <td>190</td>\n",
       "      <td>21.65</td>\n",
       "      <td>30.35</td>\n",
       "      <td>-10.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1/1/2010 3:00</td>\n",
       "      <td>10.0</td>\n",
       "      <td>16</td>\n",
       "      <td>-9</td>\n",
       "      <td>13</td>\n",
       "      <td>7</td>\n",
       "      <td>-14</td>\n",
       "      <td>67</td>\n",
       "      <td>7</td>\n",
       "      <td>180</td>\n",
       "      <td>21.65</td>\n",
       "      <td>30.35</td>\n",
       "      <td>-10.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1/1/2010 4:00</td>\n",
       "      <td>10.0</td>\n",
       "      <td>16</td>\n",
       "      <td>-9</td>\n",
       "      <td>14</td>\n",
       "      <td>9</td>\n",
       "      <td>-13</td>\n",
       "      <td>74</td>\n",
       "      <td>6</td>\n",
       "      <td>120</td>\n",
       "      <td>21.64</td>\n",
       "      <td>30.34</td>\n",
       "      <td>-10.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            date  Visibility  DryBulbFarenheit  DryBulbCelsius  \\\n",
       "0  1/1/2010 0:00        10.0                16              -9   \n",
       "1  1/1/2010 1:00        10.0                16              -9   \n",
       "2  1/1/2010 2:00        10.0                16              -9   \n",
       "3  1/1/2010 3:00        10.0                16              -9   \n",
       "4  1/1/2010 4:00        10.0                16              -9   \n",
       "\n",
       "   WetBulbFarenheit  DewPointFarenheit  DewPointCelsius  RelativeHumidity  \\\n",
       "0                13                  7              -14                67   \n",
       "1                13                  7              -14                67   \n",
       "2                13                  7              -14                67   \n",
       "3                13                  7              -14                67   \n",
       "4                14                  9              -13                74   \n",
       "\n",
       "   WindSpeed  WindDirection  StationPressure  Altimeter  WetBulbCelsius  \n",
       "0          7            130            21.65      30.35           -10.3  \n",
       "1          5            150            21.64      30.34           -10.3  \n",
       "2          5            190            21.65      30.35           -10.3  \n",
       "3          7            180            21.65      30.35           -10.3  \n",
       "4          6            120            21.64      30.34           -10.0  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df_WTH = pd.read_csv(r'D:\\pythonwork\\2021DL\\Live\\深度时序专题\\Informer2020-main\\data\\WTH.csv')\n",
    "data3 = df_WTH.head(5)\n",
    "data3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 参数设置"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "import argparse\n",
    "import os\n",
    "import torch"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- **模型选择**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "_StoreAction(option_strings=['--checkpoints'], dest='checkpoints', nargs=None, const=None, default='./checkpoints/', type=<class 'str'>, choices=None, help='location of model checkpoints', metavar=None)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parser = argparse.ArgumentParser(description='[Informer] Long Sequences Forecasting')\n",
    "#这里有三个模型可以选择，默认是Informer模型\n",
    "parser.add_argument('--model', type=str, required=True, default='informer',help='model of experiment, options: [informer, informerstack, informerlight(TBD)]')\n",
    "#训练出来的模型保存路径\n",
    "parser.add_argument('--checkpoints', type=str, default='./checkpoints/', help='location of model checkpoints')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们来看一下可供选择的三种模型：\n",
    "`informer`, `informerstack`, 和 `informerlight` (TBD) 是三种不同的模型变体，它们分别适用于不同的场景：\n",
    "\n",
    "1. **Informer**: 这是基础的 Informer 模型，它是为长期时间序列预测设计的。Informer 使用了一种特殊的概率稀疏注意力机制来有效处理长序列数据。 \\\n",
    "这个模型适用于需要处理大量时序数据并进行未来预测的任务，比如气象预报、股票市场分析等。\n",
    "\n",
    "2. **InformerStack**: 这是 Informer 模型的一个变体，它使用了多个编码器层堆叠在一起。这种结构设计使得模型能够捕捉更复杂的时间序列数据特征。 \\\n",
    "InformerStack 适用于那些需要从时间序列中提取更深层次、更复杂模式的场景，例如复杂的财经数据分析或高级气候模式预测。\n",
    "\n",
    "3. **InformerLight** (TBD): 还在待定(TBD)状态。就是现在还没有，但是官方预留了位置，可能预计未来推出一个更轻量级版本，来减少计算资源的消耗，同时保持合理的预测准确性。\n",
    "\n",
    "\n",
    "通常大家的实验都使用默认的Informer即可。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![informer架构.png](https://fufanshare.oss-cn-beijing.aliyuncs.com/DeepLearning/Informer/informer%E6%9E%B6%E6%9E%84.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- **数据和设置**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "_StoreAction(option_strings=['--freq'], dest='freq', nargs=None, const=None, default='h', type=<class 'str'>, choices=None, help='freq for time features encoding, options:[s:secondly, t:minutely, h:hourly, d:daily, b:business days, w:weekly, m:monthly], you can also use more detailed freq like 15min or 3h', metavar=None)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#想要用官方定义的方法还是你自己的数据集进行定义数据加载器，如果是自己的数据集就输入custom\n",
    "parser.add_argument('--data', type=str, required=True, default='ETTh1', help='data')\n",
    "#数据集文件的路径，不要到具体的文件，到目录级别即可\n",
    "parser.add_argument('--root_path', type=str, default='./data/ETT/', help='root path of the data file')\n",
    "#数据集文件的名称\n",
    "parser.add_argument('--data_path', type=str, default='ETTh1.csv', help='data file')    \n",
    "#特征有三个选项M，MS，S。分别是多元预测多元，多元预测单元，单元预测单元\n",
    "parser.add_argument('--features', type=str, default='M', help='forecasting task, options:[M, S, MS]; M:multivariate predict multivariate, S:univariate predict univariate, MS:multivariate predict univariate')\n",
    "#数据集中想要预测那一列数据名称，指定标签\n",
    "parser.add_argument('--target', type=str, default='OT', help='target feature in S or MS task')\n",
    "#时间的间隔，数据集每一条数据之间的时间间隔，默认为小时，可以自己设定秒，年，月，日，周等\n",
    "parser.add_argument('--freq', type=str, default='h', help='freq for time features encoding, options:[s:secondly, t:minutely, h:hourly, d:daily, b:business days, w:weekly, m:monthly], you can also use more detailed freq like 15min or 3h')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- **其他**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "_StoreTrueAction(option_strings=['--inverse'], dest='inverse', nargs=0, const=True, default=False, type=None, choices=None, help='inverse output data', metavar=None)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#用过去的多少条数据来预测未来的数据，也就是encoder输入序列的长度\n",
    "parser.add_argument('--seq_len', type=int, default=96, help='input sequence length of Informer encoder')\n",
    "# Decoder中输入的没有掩码部分序列长度\n",
    "parser.add_argument('--label_len', type=int, default=48, help='start token length of Informer decoder')\n",
    "#预测未来多少个时间点的数据，Decoder输入中用0掩码的序列长度\n",
    "parser.add_argument('--pred_len', type=int, default=24, help='prediction sequence length')\n",
    "# Informer decoder input: concat[start token series(label_len), zero padding series(pred_len)]\n",
    "#输入数据的特征数量，要减去时间的那一列，encoder和decoder是一样的\n",
    "parser.add_argument('--enc_in', type=int, default=7, help='encoder input size')\n",
    "parser.add_argument('--dec_in', type=int, default=7, help='decoder input size')\n",
    "#输出数据的维度\n",
    "#如果features填写的是M那么和上面就一样，是数据列数，如果填写的MS那么这里要输入1因为你的输出只有一列数据。\n",
    "parser.add_argument('--c_out', type=int, default=7, help='output size')\n",
    "#编码器中使用的注意力类型，默认为\"prob\"论文的主要改进点，提出的注意力机制\n",
    "parser.add_argument('--attn', type=str, default='prob', help='attention used in encoder, options:[prob, full]')\n",
    "#设置注意力机制中的d_model，默认值为512。可以根据需要调整该参数的数值来改变模型的维度\n",
    "parser.add_argument('--d_model', type=int, default=512, help='dimension of model')\n",
    "#设置模型中的注意力头数，默认值为8\n",
    "parser.add_argument('--n_heads', type=int, default=8, help='num of heads')\n",
    "#设置编码器的层数，默认为2层do_predict\n",
    "parser.add_argument('--e_layers', type=int, default=2, help='num of encoder layers')\n",
    "#设置解码器的层数，默认为1层\n",
    "parser.add_argument('--d_layers', type=int, default=1, help='num of decoder layers')\n",
    "#设置堆叠编码器的层数\n",
    "parser.add_argument('--s_layers', type=str, default='3,2,1', help='num of stack encoder layers')\n",
    "#模型中全连接网络（FCN）的维度，默认值为2048\n",
    "parser.add_argument('--d_ff', type=int, default=2048, help='dimension of fcn')\n",
    "#是否在编码器中使用蒸馏操作，默认为True也是论文中比较重要的一个改进\n",
    "parser.add_argument('--distil', action='store_false', help='whether to use distilling in encoder, using this argument means not using distilling', default=True)\n",
    "#激活函数，在不同的位置使用了不同的激活函数，我们在代码中看具体激活函数的使用\n",
    "parser.add_argument('--activation', type=str, default='gelu',help='activation')\n",
    "\n",
    "#是否使用GPU训练，根据自身来选择\n",
    "parser.add_argument('--use_gpu', type=bool, default=True, help='use gpu')\n",
    "#GPU的编号\n",
    "parser.add_argument('--gpu', type=int, default=0, help='gpu')\n",
    "#是否使用多个GPU训练。\n",
    "parser.add_argument('--use_multi_gpu', action='store_true', help='use multiple gpus', default=False)\n",
    "parser.add_argument('--devices', type=str, default='0,1,2,3',help='device ids of multile gpus')\n",
    "\n",
    "#是否进行预测\n",
    "parser.add_argument('--do_predict', action='store_true', help='whether to predict unseen future data')\n",
    "#自注意力中的因子，默认值为5\n",
    "parser.add_argument('--factor', type=int, default=5, help='probsparse attn factor')\n",
    "#填充类型，默认值为0，如果不够数据就填写0\n",
    "parser.add_argument('--padding', type=int, default=0, help='padding type')\n",
    "#丢弃的概率，防止过拟合\n",
    "parser.add_argument('--dropout', type=float, default=0.05, help='dropout')\n",
    "#时间特征的编码方式，默认为\"timeF\"\n",
    "parser.add_argument('--embed', type=str, default='timeF', help='time features encoding, options:[timeF, fixed, learned]')\n",
    "#是否在编码器中输出注意力，默认为False\n",
    "parser.add_argument('--output_attention', action='store_true', help='whether to output attention in ecoder')\n",
    "#在生成式解码器中是否使用混合注意力，默认为True\n",
    "parser.add_argument('--mix', action='store_false', help='use mix attention in generative decoder', default=True)\n",
    "#从数据文件中选择特定的列作为输入特征，不常用\n",
    "parser.add_argument('--cols', type=str, nargs='+', help='certain cols from the data files as the input features')\n",
    "#线程数量。windows最好设置成0避免报线程错误,linux系统可随便设置\n",
    "parser.add_argument('--num_workers', type=int, default=0, help='data loader num workers')\n",
    "#实验运行的次数，默认为2\n",
    "parser.add_argument('--itr', type=int, default=2, help='experiments times')\n",
    "#训练的次数\n",
    "parser.add_argument('--train_epochs', type=int, default=6, help='train epochs')\n",
    "#一次往模型内输入多少数据\n",
    "parser.add_argument('--batch_size', type=int, default=32, help='batch size of train input data')\n",
    "#早停机制，如果损失多少个epochs没有改变就停止训练\n",
    "parser.add_argument('--patience', type=int, default=3, help='early stopping patience')\n",
    "#学习率\n",
    "parser.add_argument('--learning_rate', type=float, default=0.0001, help='optimizer learning rate')\n",
    "#实验描述，默认为\"test\"\n",
    "parser.add_argument('--des', type=str, default='test',help='exp description')\n",
    "#损失函数，默认为\"mse\"\n",
    "parser.add_argument('--loss', type=str, default='mse',help='loss function')\n",
    "#学习率的调整方式，默认为\"type1\"\n",
    "parser.add_argument('--lradj', type=str, default='type1',help='adjust learning rate')\n",
    "#混合精度训练\n",
    "parser.add_argument('--use_amp', action='store_true', help='use automatic mixed precision training', default=False)\n",
    "#是否将归一化后的数据转换为原始值\n",
    "parser.add_argument('--inverse', action='store_true', help='inverse output data', default=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2、参数加载\n",
    "### （1）数据集一：官方ETTh1数据集\n",
    "\n",
    "如果你使用官方数据集，用下面的代码指定\"--model\"、\"--data\"、--attn\"、\"--freq\"参数即可。\n",
    "\n",
    "（官方是在运行py文件时传参的【python -u main_informer.py --model informer --data ETTh1 --attn prob --freq h】，我们在juypter里无法像这样在命令行里直接传入参数，所以用下面的代码提前指定参数）\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "args = parser.parse_args(args=[\"--model\", \"informer\", \n",
    "                               \"--data\", \"ETTh1\",\n",
    "                               \"--attn\", 'prob',\n",
    "                               \"--freq\", \"h\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们打印看一下现在的参数情况，其余没有指定的参数都会按照上面默认的参数来赋值。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('model', 'informer'),\n",
      " ('checkpoints', './checkpoints/'),\n",
      " ('data', 'ETTh1'),\n",
      " ('root_path', './data/ETT/'),\n",
      " ('data_path', 'ETTh1.csv'),\n",
      " ('features', 'M'),\n",
      " ('target', 'OT'),\n",
      " ('freq', 'h'),\n",
      " ('seq_len', 96),\n",
      " ('label_len', 48),\n",
      " ('pred_len', 24),\n",
      " ('enc_in', 7),\n",
      " ('dec_in', 7),\n",
      " ('c_out', 7),\n",
      " ('attn', 'prob'),\n",
      " ('d_model', 512),\n",
      " ('n_heads', 8),\n",
      " ('e_layers', 2),\n",
      " ('d_layers', 1),\n",
      " ('s_layers', '3,2,1'),\n",
      " ('d_ff', 2048),\n",
      " ('distil', True),\n",
      " ('activation', 'gelu'),\n",
      " ('use_gpu', True),\n",
      " ('gpu', 0),\n",
      " ('use_multi_gpu', False),\n",
      " ('devices', '0,1,2,3'),\n",
      " ('do_predict', False),\n",
      " ('factor', 5),\n",
      " ('padding', 0),\n",
      " ('dropout', 0.05),\n",
      " ('embed', 'timeF'),\n",
      " ('output_attention', False),\n",
      " ('mix', True),\n",
      " ('cols', None),\n",
      " ('num_workers', 0),\n",
      " ('itr', 2),\n",
      " ('train_epochs', 6),\n",
      " ('batch_size', 32),\n",
      " ('patience', 3),\n",
      " ('learning_rate', 0.0001),\n",
      " ('des', 'test'),\n",
      " ('loss', 'mse'),\n",
      " ('lradj', 'type1'),\n",
      " ('use_amp', False),\n",
      " ('inverse', False)]\n"
     ]
    }
   ],
   "source": [
    "from pprint import pprint\n",
    "pprint(args._get_kwargs())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### （2）数据集二：自己的csv数据集\n",
    "\n",
    "这里我们使用WTH天气数据集为例，看一下更换为自己的数据集进行Informer预测实验的时候应该如何更改上面默认的这部分参数。\n",
    "\n",
    "* **这里关注如果用自己的数据集“--data”一定要填“custom”**\n",
    "* 数据集位置和名称：数据集存储于./data文件夹下，名称是“WTH.csv”\n",
    "* 数据集的时间间隔：h（小时）每 1 小时收集一次数据点\n",
    "* 数据集中想要预测的那一列的列名：“WetBulbCelsius”\n",
    "* 想要通过什么来预测什么：通过其余 11 个气候特征预测“WetBulbCelsius”这个气候特征。\n",
    "\n",
    "* 数据集总共有12列（不包含时间列），\"--enc_in\"\"--dec_in\"均填写12\n",
    "* 使用MS的方式，用11个特征预测1个特征，是多元预测单元。\"--c_out\"为1，只预测一个特征。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "args = parser.parse_args(args=[\"--model\", \"informer\", \n",
    "                               \"--data\", \"custom\",\n",
    "                               \"--root_path\", \"./data/\",\n",
    "                               \"--data_path\", \"WTH.csv\",\n",
    "                               \"--features\", \"MS\",\n",
    "                               \"--target\", \"WetBulbCelsius\",\n",
    "                               \"--data_path\", \"WTH.csv\",\n",
    "                               \"--seq_len\", '20',\n",
    "                               \"--label_len\", '10',\n",
    "                               \"--pred_len\", '5',\n",
    "                               \"--enc_in\", '12',\n",
    "                               \"--dec_in\", '12',\n",
    "                               \"--c_out\", '1',\n",
    "                               \"--freq\", \"h\",\n",
    "                               \"--attn\", 'prob'\n",
    "                               ])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里有一点小细节，数值类型的参数我们也用字符串传入，当我们使用argparse解析这个参数的时候，会根据我们上面参数解析器中制定的类型来解析。将字符串的“5”自动解析为int型的5。\n",
    "\n",
    "我们来打印看一下我们修改后的参数情况。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('model', 'informer'),\n",
      " ('checkpoints', './checkpoints/'),\n",
      " ('data', 'custom'),\n",
      " ('root_path', './data/'),\n",
      " ('data_path', 'WTH.csv'),\n",
      " ('features', 'MS'),\n",
      " ('target', 'WetBulbCelsius'),\n",
      " ('freq', 'h'),\n",
      " ('seq_len', 20),\n",
      " ('label_len', 10),\n",
      " ('pred_len', 5),\n",
      " ('enc_in', 12),\n",
      " ('dec_in', 12),\n",
      " ('c_out', 1),\n",
      " ('d_model', 512),\n",
      " ('n_heads', 8),\n",
      " ('e_layers', 2),\n",
      " ('d_layers', 1),\n",
      " ('s_layers', '3,2,1'),\n",
      " ('d_ff', 2048),\n",
      " ('factor', 5),\n",
      " ('padding', 0),\n",
      " ('distil', True),\n",
      " ('dropout', 0.05),\n",
      " ('attn', 'prob'),\n",
      " ('embed', 'timeF'),\n",
      " ('activation', 'gelu'),\n",
      " ('output_attention', False),\n",
      " ('do_predict', False),\n",
      " ('mix', True),\n",
      " ('cols', None),\n",
      " ('num_workers', 0),\n",
      " ('itr', 2),\n",
      " ('train_epochs', 6),\n",
      " ('batch_size', 32),\n",
      " ('patience', 3),\n",
      " ('learning_rate', 0.0001),\n",
      " ('des', 'test'),\n",
      " ('loss', 'mse'),\n",
      " ('lradj', 'type1'),\n",
      " ('use_amp', False),\n",
      " ('inverse', False),\n",
      " ('use_gpu', True),\n",
      " ('gpu', 0),\n",
      " ('use_multi_gpu', False),\n",
      " ('devices', '0,1,2,3')]\n"
     ]
    }
   ],
   "source": [
    "from pprint import pprint\n",
    "pprint(args._get_kwargs())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Args in experiment:\n",
      "Namespace(model='informer', checkpoints='./checkpoints/', data='custom', root_path='./data/', data_path='WTH.csv', features='MS', target='WetBulbCelsius', freq='h', seq_len=20, label_len=10, pred_len=5, enc_in=12, dec_in=12, c_out=1, d_model=512, n_heads=8, e_layers=2, d_layers=1, s_layers=[3, 2, 1], d_ff=2048, factor=5, padding=0, distil=True, dropout=0.05, attn='prob', embed='timeF', activation='gelu', output_attention=False, do_predict=False, mix=True, cols=None, num_workers=0, itr=2, train_epochs=6, batch_size=32, patience=3, learning_rate=0.0001, des='test', loss='mse', lradj='type1', use_amp=False, inverse=False, use_gpu=True, gpu=0, use_multi_gpu=False, devices='0,1,2,3', detail_freq='h')\n"
     ]
    }
   ],
   "source": [
    "args.s_layers = [int(s_l) for s_l in args.s_layers.replace(' ','').split(',')]\n",
    "args.detail_freq = args.freq\n",
    "args.freq = args.freq[-1:]\n",
    "\n",
    "print('Args in experiment:')\n",
    "print(args)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 三、执行训练实验"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据源码来看，我们发现下面一行代码导入了一整个实验。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "from exp.exp_informer import Exp_Informer\n",
    "\n",
    "Exp = Exp_Informer"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们来看一下这个Informer的实验里面到底是什么。我们按照导入的位置，看一下exp文件夹下的exp_informer.py文件。\n",
    "\n",
    "这个文件我们不做修改只学习了解一下大概包含了哪些内容。\n",
    "\n",
    "* 构造函数： __init__方法\n",
    "* 构建模型： _build_model方法\n",
    "* 获取数据： _get_data方法\n",
    "* 选择优化器： _select_optimizer方法\n",
    "* 选择损失函数： _select_criterion方法\n",
    "* 验证： vali方法\n",
    "* 训练： train方法\n",
    "* 测试： test方法\n",
    "* 预测： predict方法\n",
    "* 处理单批次数据： _process_one_batch方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "（到这里的时候跳转到exp_informer.py文件，看一下这个类里面有哪些方法。这样可以理解为什么实例化一个Exp_Informer就可以直接执行train，test，predict的方法。这个py文件做了详细注释，也可以增加一下讲解时间。在【处理单批次数据】部分还可以看出传入的数据是哪几维，如何拼接，输出的结果如何切片形成一块预测数据。也在py文件里做了注释。）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "setting 变量的设置：这一行代码使用格式化字符串构建了一个实验设置的描述，其中包括了多个实验参数的值，如模型类型 (args.model)、数据类型 (args.data)、特征类型 (args.features)、序列长度 (args.seq_len)、标签长度 (args.label_len)、预测长度 (args.pred_len) 等等。\n",
    "\n",
    "模型训练完存储在/result文件夹下，以setting相关内容进行命名，就可以在很多模型训练结果里根据名称找到相关实验设置下的模型训练结果。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Use GPU: cuda:0\n",
      ">>>>>>>start training : informer_ETTh1_ftM_sl96_ll48_pl24_dm512_nh8_el2_dl1_df2048_atprob_fc5_ebtimeF_dtTrue_test>>>>>>>>>>>>>>>>>>>>>>>>>>\n",
      "train 8521\n",
      "val 2857\n",
      "test 2857\n",
      "\titers: 100, epoch: 1 | loss: 0.4660797\n",
      "\tspeed: 0.1018s/iter; left time: 152.3736s\n",
      "\titers: 200, epoch: 1 | loss: 0.3277966\n",
      "\tspeed: 0.0549s/iter; left time: 76.7149s\n",
      "Epoch: 1 cost time: 19.308876514434814\n",
      "Epoch: 1, Steps: 266 | Train Loss: 0.4103942 Vali Loss: 0.6904582 Test Loss: 0.5107165\n",
      "Validation loss decreased (inf --> 0.690458).  Saving model ...\n",
      "Updating learning rate to 0.0001\n",
      "\titers: 100, epoch: 2 | loss: 0.2548539\n",
      "\tspeed: 0.1215s/iter; left time: 149.5372s\n",
      "\titers: 200, epoch: 2 | loss: 0.2339626\n",
      "\tspeed: 0.0550s/iter; left time: 62.1680s\n",
      "Epoch: 2 cost time: 14.71541428565979\n",
      "Epoch: 2, Steps: 266 | Train Loss: 0.2559412 Vali Loss: 0.6169897 Test Loss: 0.5636951\n",
      "Validation loss decreased (0.690458 --> 0.616990).  Saving model ...\n",
      "Updating learning rate to 5e-05\n",
      "\titers: 100, epoch: 3 | loss: 0.2272154\n",
      "\tspeed: 0.1245s/iter; left time: 120.1013s\n",
      "\titers: 200, epoch: 3 | loss: 0.1831761\n",
      "\tspeed: 0.0560s/iter; left time: 48.3985s\n",
      "Epoch: 3 cost time: 14.825392484664917\n",
      "Epoch: 3, Steps: 266 | Train Loss: 0.1963569 Vali Loss: 0.6300530 Test Loss: 0.5614506\n",
      "EarlyStopping counter: 1 out of 3\n",
      "Updating learning rate to 2.5e-05\n",
      "\titers: 100, epoch: 4 | loss: 0.1829374\n",
      "\tspeed: 0.1225s/iter; left time: 85.6389s\n",
      "\titers: 200, epoch: 4 | loss: 0.1854540\n",
      "\tspeed: 0.0556s/iter; left time: 33.2999s\n",
      "Epoch: 4 cost time: 14.834797382354736\n",
      "Epoch: 4, Steps: 266 | Train Loss: 0.1698519 Vali Loss: 0.6594243 Test Loss: 0.6474473\n",
      "EarlyStopping counter: 2 out of 3\n",
      "Updating learning rate to 1.25e-05\n",
      "\titers: 100, epoch: 5 | loss: 0.1522416\n",
      "\tspeed: 0.1235s/iter; left time: 53.4931s\n",
      "\titers: 200, epoch: 5 | loss: 0.1399576\n",
      "\tspeed: 0.0557s/iter; left time: 18.5629s\n",
      "Epoch: 5 cost time: 14.881805419921875\n",
      "Epoch: 5, Steps: 266 | Train Loss: 0.1566764 Vali Loss: 0.6630678 Test Loss: 0.6364699\n",
      "EarlyStopping counter: 3 out of 3\n",
      "Early stopping\n",
      ">>>>>>>testing : informer_ETTh1_ftM_sl96_ll48_pl24_dm512_nh8_el2_dl1_df2048_atprob_fc5_ebtimeF_dtTrue_test<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n",
      "test 2857\n",
      "test shape: (89, 32, 24, 7) (89, 32, 24, 7)\n",
      "test shape: (2848, 24, 7) (2848, 24, 7)\n",
      "mse:0.5641769766807556, mae:0.5583562254905701\n"
     ]
    }
   ],
   "source": [
    "# 设置settings\n",
    "setting = '{}_{}_ft{}_sl{}_ll{}_pl{}_dm{}_nh{}_el{}_dl{}_df{}_at{}_fc{}_eb{}_dt{}_{}'.format(args.model\n",
    "                                                                                             , args.data, args.features\n",
    "                                                                                             , args.seq_len, args.label_len\n",
    "                                                                                             , args.pred_len\n",
    "                                                                                             , args.d_model, args.n_heads\n",
    "                                                                                             , args.e_layers\n",
    "                                                                                             , args.d_layers, args.d_ff, args.attn\n",
    "                                                                                             , args.factor, args.embed\n",
    "                                                                                             , args.distil, args.des)\n",
    "\n",
    "# set experiments实例化上面的实验\n",
    "exp = Exp(args)\n",
    "\n",
    "# train\n",
    "print('>>>>>>>start training : {}>>>>>>>>>>>>>>>>>>>>>>>>>>'.format(setting))\n",
    "exp.train(setting)\n",
    "\n",
    "# test\n",
    "print('>>>>>>>testing : {}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'.format(setting))\n",
    "exp.test(setting)\n",
    "\n",
    "torch.cuda.empty_cache()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 四、预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "# set saved model path\n",
    "setting = 'informer_custom_ftMS_sl20_ll10_pl5_dm512_nh8_el2_dl1_df2048_atprob_fc5_ebtimeF_dtTrue_test'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Use GPU: cuda:0\n",
      "pred 1\n"
     ]
    }
   ],
   "source": [
    "exp = Exp(args)\n",
    "exp.predict(setting, True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 5, 1)\n"
     ]
    }
   ],
   "source": [
    "# the prediction will be saved in ./results/{setting}/real_prediction.npy\n",
    "import numpy as np\n",
    "\n",
    "prediction = np.load('./results/'+setting+'/real_prediction.npy')\n",
    "\n",
    "print(prediction.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "prediction[0,:,-1]: 提取了第一个批次所有时间步的最后一个特征值。，具体来说：\n",
    "* 0 表示选择prediction数组的第一个元素（指的是第一个批次的预测结果）。\n",
    "* : 表示选择这个批次所有的时间步。\n",
    "* -1 表示选择每个时间步的最后一个特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.figure()\n",
    "plt.plot(prediction[0,:,-1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "* 横坐标（X轴）：代表时间步，共计5个时间步。\n",
    "* 纵坐标（Y轴）：代表在每个时间步的最后一个特征的值。也就是“预测结果”。（这里没有对标准化的结果进行反向缩放）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((7008, 5, 1), (7008, 5, 1))"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "preds = np.load('./results/'+setting+'/pred.npy')\n",
    "trues = np.load('./results/'+setting+'/true.npy')\n",
    "\n",
    "# [samples, pred_len, dimensions]\n",
    "preds.shape, trues.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面我们用同样的方式，看一下不同批次（10.20.30批次）的预测结果和真实值对比。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.plot(trues[10,:,-1], label='GroundTruth')\n",
    "plt.plot(preds[10,:,-1], label='Prediction')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.plot(trues[20,:,-1], label='GroundTruth')\n",
    "plt.plot(preds[20,:,-1], label='Prediction')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.plot(trues[30,:,-1], label='GroundTruth')\n",
    "plt.plot(preds[30,:,-1], label='Prediction')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最后我们看一下所以批次数据的对比结果。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(20,5))\n",
    "\n",
    "plt.plot(trues[:,0,-1].reshape(-1), label='GroundTruth')\n",
    "plt.plot(preds[:,0,-1].reshape(-1), label='Prediction')\n",
    "plt.legend()\n",
    "plt.show()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
